home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2001 / MacHack 2001.toast / pc / The Hacks / Palm Finder 2 / Src / Panes / menu.h < prev    next >
Encoding:
Text File  |  2001-06-23  |  1.2 KB  |  45 lines

  1. // menu.h
  2.  
  3. #include "pane.h"
  4.  
  5. class menu_item;
  6.  
  7. class menu: public pane {
  8. public:
  9.                         menu (char* in_title, int in_bitmap_id, int x, int y, int baseline, int height, view* in_superview );
  10.     virtual            ~menu ();
  11.  
  12.     long                get_id () { return m_id; };
  13.     void                add_item (char* in_item, long in_id, char in_shortcut);
  14.     
  15. protected:
  16.     long                m_id;
  17.     char                m_title[32];
  18.     int                m_bitmap;
  19.     int                m_baseline;
  20.     Boolean            m_selected;
  21.     Boolean            m_open;
  22.     WinHandle        m_saved_bits;
  23.     menu_item*    m_items;
  24.     int                m_selected_item;
  25.     
  26.     virtual void        draw_self();
  27.     virtual Boolean    click_self(int x, int y);
  28.     virtual Boolean    still_down_self(int x, int y);
  29.     virtual Boolean    pen_up_self(int x, int y);
  30.     
  31.     void                    get_menu_dimensions ( int& height, int& width );
  32.     void                    get_menu_content_rect ( RectangleType* r );
  33.     void                    get_menu_frame_rect ( RectangleType* r );
  34.     void                    draw_menu ();
  35.     void                    draw_menu_items ();
  36.     void                    select_menu_item (int item);
  37.     void                    invert_menu_item (int item);
  38.     int                    get_item_hit (int x, int y);
  39.     void                    get_item_rect (int item, RectangleType* r);
  40.     int                    count_items();
  41.     menu_item*        get_item(int index);
  42.     
  43.     void                    save_bits( );
  44.     void                    restore_bits( );
  45. };